package com.rongke.model;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.rongke.utils.DateJsonDeserializer;
import com.rongke.utils.DateJsonSerializer;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @version : Ver 1.0
 * @Muser
 * @(muser)
 */

@TableName("muser")
public class Muser implements Serializable {
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * @备注:用户id
     * @字段:id BIGINT(19)
     */
    @TableId(type = IdType.AUTO)
    private java.lang.Long id;



    /**
     * @备注:用户名
     * @字段:user_name VARCHAR(20)
     */
    private java.lang.String userName;



    /**
     * @备注:昵称

     * @字段:user_name VARCHAR(20)
     */
    private java.lang.String realName;


    /**
     * 团队人数
     */
    private transient int mNumber ;

    /**
     * @备注:用户性别
     * @字段:sex ENUM(2)
     */
    private java.lang.String sex;

    /**
     * @备注:登录账号
     * @字段:login_id VARCHAR(11)
     */
    private java.lang.String loginId;

    /**
     * @备注:登录密码
     * @字段:password VARCHAR(11)
     */
    private java.lang.String password;

    /**
     * @备注:头像url
     * @字段:password VARCHAR(100)
     */
    private java.lang.String avatarUrl;


    /**
     * @备注:生日(年月日以‘-’分隔)
     * @字段:birthday VARCHAR(10)
     */
    private java.lang.String birthday;

    /**
     * @备注:身份证号
     * @字段:id_card VARCHAR(20)
     */
    private java.lang.String idCard;

    /**
     * @备注:推荐人ids(中间以逗号分隔)
     * @字段:recommend_user_ids VARCHAR(20)
     */
    private java.lang.String recommendUserIds;
    private java.lang.String phone;
    private java.lang.Integer memberLevel;//会员等级

    @TableField(exist = false)
    private java.lang.String parsentUserName; //推荐人姓名

    /**
     * 消费总额
     */
    @TableField(exist = false)
    private java.math.BigDecimal totalMoney;

    /**
     * 收益总额
     */
    @TableField(exist = false)
    private java.math.BigDecimal income;

    /**
     * 登录来源
     */
    private java.lang.String source;
    /**
     *  设备别名
     */
    private java.lang.String devAlias;
    /**
     * 账号状态1代表正常2代表封号
     */
    private java.lang.Integer mStatus;
    private java.lang.Integer nums;
    private java.lang.String qrCode;

    private java.lang.String token;


    private java.lang.String machineCode;
    @TableField(exist = false)
    private Address address;

    @TableField(exist = false)
    private String maxMiduoduoRate;

    @TableField(exist = false)
    private String maxMiyageRate;

    /**
     * @备注:创建时间
     * @字段:gmt_datetime DATETIME(19)
     */
    @JsonSerialize(using=DateJsonSerializer.class)
    @JsonDeserialize(using=DateJsonDeserializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
    private java.util.Date gmtDatetime;

    /**
     * @备注:创建时间
     * @字段:gmt_datetime DATETIME(19)
     */
    @JsonSerialize(using=DateJsonSerializer.class)
    @JsonDeserialize(using=DateJsonDeserializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
    private java.util.Date uptDatetime;

    private Integer userType;

    private Double profitability;


    private Integer memberType;

    /**
     * 是否已发过礼品
     */
    private Integer isGifted;

    /**
     * 购买次数
     */
    @TableField(exist = false)
    private  Integer purchaseFrequency;
    public Muser() {
    }

    public Muser(
            java.lang.Long id
    ) {
        this.id = id;
    }

    public Integer getUserType() {
        return userType;
    }

    public void setUserType(Integer userType) {
        this.userType = userType;
    }

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

    public Integer getMemberLevel() {
        return memberLevel;
    }

    public void setMemberLevel(Integer memberLevel) {
        this.memberLevel = memberLevel;
    }

    public String getPhone() {
        return phone;
    }

    public String getMachineCode() {
        return machineCode;
    }

    public void setMachineCode(String machineCode) {
        this.machineCode = machineCode;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public void setId(java.lang.Long id) {
        this.id = id;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public BigDecimal getTotalMoney() {
        return totalMoney;
    }

    public void setTotalMoney(BigDecimal totalMoney) {
        this.totalMoney = totalMoney;
    }

    public Date getUptDatetime() {
        return uptDatetime;
    }

    public void setUptDatetime(Date uptDatetime) {
        this.uptDatetime = uptDatetime;
    }

    public java.lang.Long getId() {
        return this.id;
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public String getMaxMiduoduoRate() {
        return maxMiduoduoRate;
    }

    public void setMaxMiduoduoRate(String maxMiduoduoRate) {
        this.maxMiduoduoRate = maxMiduoduoRate;
    }

    public String getMaxMiyageRate() {
        return maxMiyageRate;
    }

    public void setMaxMiyageRate(String maxMiyageRate) {
        this.maxMiyageRate = maxMiyageRate;
    }

    public String getDevAlias() {
        return devAlias;
    }

    public void setDevAlias(String devAlias) {
        this.devAlias = devAlias;
    }

    public Integer getmStatus() {
        return mStatus;
    }

    public void setmStatus(Integer mStatus) {
        this.mStatus = mStatus;
    }

    public void setSex(java.lang.String sex) {
        this.sex = sex;
    }

    public java.lang.String getSex() {
        return this.sex;
    }

    public Integer getMemberType() {
        return memberType;
    }

    public void setMemberType(Integer memberType) {
        this.memberType = memberType;
    }

    public String getParsentUserName() {
        return parsentUserName;
    }

    public void setParsentUserName(String parsentUserName) {
        this.parsentUserName = parsentUserName;
    }

    public void setUserName(java.lang.String userName) {
        this.userName = userName;
    }

    public java.lang.String getUserName() {
        return this.userName;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }


    public Integer getPurchaseFrequency() {
        return purchaseFrequency;
    }

    public void setPurchaseFrequency(Integer purchaseFrequency) {
        this.purchaseFrequency = purchaseFrequency;
    }

    public void setLoginId(java.lang.String loginId) {
        this.loginId = loginId;
    }

    public java.lang.String getLoginId() {
        return this.loginId;
    }

    public String getQrCode() {
        return qrCode;
    }

    public void setQrCode(String qrCode) {
        this.qrCode = qrCode;
    }

    public void setPassword(java.lang.String password) {
        this.password = password;
    }

    public java.lang.String getPassword() {
        return this.password;
    }

    public String getAvatarUrl() {
        return avatarUrl;
    }

    public void setAvatarUrl(String avatarUrl) {
        this.avatarUrl = avatarUrl;
    }

    public int getmNumber() {
        return mNumber;
    }

    public void setmNumber(int mNumber) {
        this.mNumber = mNumber;
    }

    public BigDecimal getIncome() {
        return income;
    }

    public void setIncome(BigDecimal income) {
        this.income = income;
    }

    public void setBirthday(java.lang.String birthday) {
        this.birthday = birthday;
    }

    public java.lang.String getBirthday() {
        return this.birthday;
    }

    public Double getProfitability() {
        return profitability;
    }

    public void setProfitability(Double profitability) {
        this.profitability = profitability;
    }

    public void setIdCard(java.lang.String idCard) {
        this.idCard = idCard;
    }

    public java.lang.String getIdCard() {
        return this.idCard;
    }

    public Date getGmtDatetime() {
        return gmtDatetime;
    }

    public void setGmtDatetime(Date gmtDatetime) {
        this.gmtDatetime = gmtDatetime;
    }

    public void setRecommendUserIds(java.lang.String recommendUserIds) {
        this.recommendUserIds = recommendUserIds;
    }

    public java.lang.String getRecommendUserIds() {
        return this.recommendUserIds;
    }

    public Integer getNums() {
        return nums;
    }

    public void setNums(Integer nums) {
        this.nums = nums;
    }

    public Integer getIsGifted() {
        return isGifted;
    }

    public void setIsGifted(Integer isGifted) {
        this.isGifted = isGifted;
    }
}



